//
//  main.m
//  Province-City-zone
//
//  Created by dllo on 16/7/11.
//  Copyright © 2016年 dllo. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "Province.h"
#import "City.h"
#import "Distric.h"
#import "TimeCity.h"
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSString *path = @"/Users/dllo/DLS160710/Objective-C/HomeWork/Province-City-zone/Province-City-zone/area.txt";
        NSString *sourceString = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
        NSArray *allArray = [sourceString componentsSeparatedByString:@"\n"];
        NSMutableArray *allProvinceArray = [NSMutableArray array];
        for (NSString *area in allArray) {
            if (![area hasPrefix:@" "]) {
                Province *province = [[Province alloc] initWithName:area];
                [allProvinceArray addObject:province];
            } else if (![area hasPrefix:@"   "]) {
                City *city = [[City alloc] initWithName:area];
                Province *province = [allProvinceArray lastObject];
                [province.arr addObject:city];
            } else {
                Distric *distric = [[Distric alloc] initWithName:area];
                Province *province = [allProvinceArray lastObject];
                City *city = [province.arr lastObject];
                [city.arr addObject:distric];
            }
            
        }
        NSLog(@"%@",allProvinceArray);

        
        // 数组模型
        NSString *locationPath = @"/Users/dllo/DLS160710/Objective-C/HomeWork/Province-City-zone/Province-City-zone/Location1.txt";
        NSString *source = [NSString stringWithContentsOfFile:locationPath encoding:NSUTF8StringEncoding error:nil];
        NSArray *allLocationArray = [source componentsSeparatedByString:@","];
        NSMutableArray *allCityDicArray = [NSMutableArray array];
        for (NSString *cityString in allLocationArray) {
            NSArray *city = [cityString componentsSeparatedByString:@"|"];
            TimeCity *timeCity = [[TimeCity alloc] initWithName:[city firstObject] cityNumber:[city lastObject]];
            [allCityDicArray addObject:timeCity];
        }
        
        // 排序
        NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"cityNumber" ascending:YES];
        [allCityDicArray sortUsingDescriptors:@[sortDescriptor]];
        
        NSMutableArray *finallArray = [NSMutableArray array];

        for (TimeCity *timeCity in allCityDicArray) {
            if ([timeCity.cityNumber hasSuffix:@"0000"]) {
                Province *pro = [Province districWithTimeCity:timeCity];
                [finallArray addObject:pro];
            } else if ([timeCity.cityNumber hasSuffix:@"00"]) {
                Province *pro = [finallArray lastObject];
                City *city = [City districWithTimeCity:timeCity];
                [pro.arr addObject:city];
            } else {
                Province *pro = [finallArray lastObject];
                City *city = [pro.arr lastObject];
                Distric *distrc = [Distric districWithTimeCity:timeCity];
                [city.arr addObject:distrc];
            }
        }
        NSLog(@"%@",finallArray);
    }
    return 0;
}
